<?php

App::uses('AppController', 'Controller');

class AboutsController extends AppController {

	var $name = 'Abouts';
	var $uses = array('About');



	/**
	 *
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function index() {
		$this->set('about', $this->About->getInfo());
	}

	/**
	 * Add
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_index()
	{

		if(!empty($this->request->data))
		{
			$data = &$this->request->data[$this->als];

			$this->About->set($data);
			$errors = $this->About->invalidFields();

			//Save
			if(empty($errors) && !empty($data['id'])) {

				$data['id'] = (int)$data['id'];

				$data['status'] = 4;

				if($this->About->save($data, false)) {
					$this->Session->setFlash('Lưu giới thiệu thành công.', 'success');
				} else {
					$this->Session->setFlash('Lưu giới thiệu thất bại. Vui lòng xem lại thông tin bên dưới', 'error');
				}
			} else {
				$this->Session->setFlash('Lưu giới thiệu thất bại.', 'error');
			}
		}

		$info = $this->About->getInfo();
		if(!empty($info)) {
			$this->request->data = $info;
		}
	}

	/**
	 * Delete file
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function _removeImages ($data)
	{
		if(!empty($data)) {
			foreach($data as $it){
				if(!empty($it)) {
					$info = $this->Image->read(array('image'),(int)$it);
					if(!empty($info)) {
						$path = PUBLIC_IMAGE_DETAIL.$info['Image']['image'];
						@unlink($path);
						$path = PUBLIC_IMAGE_THUMB.$info['Image']['image'];
						@unlink($path);
						$this->Image->delete((int)$it);
					}
				}
			}
		}
	}

	/**
	 * View Image
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_viewimage($type = 1, $id = null) {

		$info = $this->Product->getInfoById($id, array('id', 'name'));

		$this->set('images', $this->Image->getAll($id));
		$this->set('product', $info['Product']);
		$this->set('type', $type);
	}

	/**
	 * Remove img
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_deleteimg() {

		if(!empty($this->request->data['id'])) {
			$this->_removeImages(array((int)$this->request->data['id']));
			$this->_responseJson(array('code' => 'success', 'msg' => 'Xóa hình ảnh thành công.'));
		}
		$this->_responseJson(array('code' => 'danger', 'msg' => 'Xóa hình ảnh thất bại.'));
	}

	/**
	 * Change Sort
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_changeSort() {
		if(!empty($this->request->data['id']) && !empty($this->request->data['sort'])) {
			$this->Product->id = (int)$this->request->data['id'];

			if($this->Product->saveField('sort', (int)$this->request->data['sort']))
				$this->_responseJson(array('code' => 'success'));
			else
				$this->_responseJson(array('code' => 'danger'));
		}
		$this->_responseJson(array('code' => 'danger'));
	}

	/**
	 * delete san pham
	 *
	 * @param type  meta
	 * @return type  meta
	 * @access public
	 */
	function admin_delete($type = 1, $id = null){
		if(!empty($id)) {
			$id = (int)$id;
			if($this->Product->delete($id)) {
				// Get  danh sach images
				$images = $this->Image->getAll($id);
				if(!empty($images)) {
					foreach($images as $img){
						$path = PUBLIC_IMAGE_DETAIL.$img['Image']['image'];
						@unlink($path);
						$path = PUBLIC_IMAGE_THUMB.$img['Image']['image'];
						@unlink($path);
						$this->Image->delete($img['Image']['id']);
					}
				}

				$this->Session->setFlash('Xóa sản phẩm thành công.', 'success');
			} else {
				$this->Session->setFlash('Xóa sản phẩm thất bại. Vui lòng thử lại sao', 'error');
			}
		} else {
			$this->Session->setFlash('Không tìm thấy sản phẩm. Vui lòng thử lại sao', 'error');
		}
		$this->redirect('/admin/products/index/'.$type);
	}
}
